#include "gtkwidgetprivate.h"
#include "gtkpopover.h"
#include "gtklabel.h"
+#include "gtkstack.h"
enum
{
static void
add_group (GtkInspectorActions *sl,
+ GtkStackPage *page,
GActionGroup *group,
const gchar *prefix)
{
gint i;
gchar **names;
- gtk_widget_show (GTK_WIDGET (sl));
+ g_object_set (page, "visible", TRUE, NULL);
g_signal_connect (group, "action-added", G_CALLBACK (action_added_cb), sl);
g_signal_connect (group, "action-removed", G_CALLBACK (action_removed_cb), sl);
gtk_inspector_actions_set_object (GtkInspectorActions *sl,
GObject *object)
{
- gtk_widget_hide (GTK_WIDGET (sl));
+ GtkWidget *stack;
+ GtkStackPage *page;
+
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
+ g_object_set (page, "visible", FALSE, NULL);
g_hash_table_foreach (sl->priv->groups, disconnect_group, sl);
g_hash_table_remove_all (sl->priv->groups);
g_hash_table_remove_all (sl->priv->iters);
gtk_list_store_clear (sl->priv->model);
if (GTK_IS_APPLICATION (object))
- add_group (sl, G_ACTION_GROUP (object), "app");
+ add_group (sl, page, G_ACTION_GROUP (object), "app");
else if (GTK_IS_APPLICATION_WINDOW (object))
- add_group (sl, G_ACTION_GROUP (object), "win");
+ add_group (sl, page, G_ACTION_GROUP (object), "win");
else if (GTK_IS_WIDGET (object))
{
const gchar **prefixes;
for (i = 0; prefixes[i]; i++)
{
group = gtk_widget_get_action_group (GTK_WIDGET (object), prefixes[i]);
- add_group (sl, group, prefixes[i]);
+ add_group (sl, page, group, prefixes[i]);
}
g_free (prefixes);
}
#include "gtkscrolledwindow.h"
#include "gtksortlistmodel.h"
#include "gtkwidgetprivate.h"
+#include "gtkstack.h"
enum
{
gtk_inspector_controllers_set_object (GtkInspectorControllers *sl,
GObject *object)
{
+ GtkWidget *stack;
+ GtkStackPage *page;
GtkInspectorControllersPrivate *priv = sl->priv;
GtkMapListModel *map_model;
GtkFlattenListModel *flatten_model;
GtkSortListModel *sort_model;
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
if (!GTK_IS_WIDGET (object))
- return;
+ {
+ g_object_set (page, "visible", FALSE, NULL);
+ return;
+ }
+
+ g_object_set (page, "visible", TRUE, NULL);
priv->model = gtk_property_lookup_list_model_new (GTK_TYPE_WIDGET, "parent");
gtk_property_lookup_list_model_set_object (priv->model, object);
gtk_inspector_css_node_tree_set_object (GtkInspectorCssNodeTree *cnt,
GObject *object)
{
+ GtkWidget *stack;
+ GtkStackPage *page;
GtkInspectorCssNodeTreePrivate *priv;
GtkCssNode *node, *root;
GtkTreePath *path;
priv = cnt->priv;
+ stack = gtk_widget_get_parent (GTK_WIDGET (cnt));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (cnt));
+
if (!GTK_IS_WIDGET (object))
{
- gtk_widget_hide (GTK_WIDGET (cnt));
+ g_object_set (page, "visible", FALSE, NULL);
return;
}
- gtk_widget_show (GTK_WIDGET (cnt));
+ g_object_set (page, "visible", TRUE, NULL);
root = node = gtk_widget_get_css_node (GTK_WIDGET (object));
while (gtk_css_node_get_parent (root))
#include "gtkcellrenderertext.h"
#include "gtktogglebutton.h"
#include "gtklabel.h"
+#include "gtkstack.h"
struct _GtkInspectorDataListPrivate
gtk_inspector_data_list_set_object (GtkInspectorDataList *sl,
GObject *object)
{
+ GtkWidget *stack;
+ GtkStackPage *page;
gchar *title;
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
clear_view (sl);
sl->priv->object = NULL;
sl->priv->show_data = FALSE;
if (!GTK_IS_TREE_MODEL (object))
{
- gtk_widget_hide (GTK_WIDGET (sl));
+ g_object_set (page, "visible", FALSE, NULL);
return;
}
gtk_label_set_label (GTK_LABEL (sl->priv->object_title), title);
g_free (title);
- gtk_widget_show (GTK_WIDGET (sl));
+ g_object_set (page, "visible", TRUE, NULL);
sl->priv->object = GTK_TREE_MODEL (object);
add_columns (sl);
#include "gtklabel.h"
#include "gtkadjustment.h"
+#include "gtkstack.h"
enum
{
gtk_inspector_magnifier_set_object (GtkInspectorMagnifier *sl,
GObject *object)
{
+ GtkWidget *stack;
+ GtkStackPage *page;
+
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
sl->priv->object = NULL;
if (!GTK_IS_WIDGET (object) || !gtk_widget_is_visible (GTK_WIDGET (object)))
{
- gtk_widget_hide (GTK_WIDGET (sl));
+ g_object_set (page, "visible", FALSE, NULL);
_gtk_magnifier_set_inspected (GTK_MAGNIFIER (sl->priv->magnifier), NULL);
return;
}
- gtk_widget_show (GTK_WIDGET (sl));
+ g_object_set (page, "visible", TRUE, NULL);
sl->priv->object = GTK_WIDGET (object);
#include "gtktreestore.h"
#include "gtkwidgetprivate.h"
#include "gtklabel.h"
+#include "gtkstack.h"
enum
}
static void add_menu (GtkInspectorMenu *sl,
+ GtkStackPage *page,
GMenuModel *menu,
GtkTreeIter *parent);
static void
add_item (GtkInspectorMenu *sl,
+ GtkStackPage *page,
GMenuModel *menu,
gint idx,
GtkTreeIter *parent)
gtk_tree_store_set (sl->priv->model, &iter,
COLUMN_LABEL, _("Unnamed section"),
-1);
- add_menu (sl, model, &iter);
+ add_menu (sl, page, model, &iter);
g_object_unref (model);
}
model = g_menu_model_get_item_link (menu, idx, G_MENU_LINK_SUBMENU);
if (model)
{
- add_menu (sl, model, &iter);
+ add_menu (sl, page, model, &iter);
g_object_unref (model);
}
static void
add_menu (GtkInspectorMenu *sl,
+ GtkStackPage *page,
GMenuModel *menu,
GtkTreeIter *parent)
{
gint n_items;
gint i;
- gtk_widget_show (GTK_WIDGET (sl));
+ g_object_set (page, "visible", TRUE, NULL);
n_items = g_menu_model_get_n_items (menu);
for (i = 0; i < n_items; i++)
- add_item (sl, menu, i, parent);
+ add_item (sl, page, menu, i, parent);
}
void
gtk_inspector_menu_set_object (GtkInspectorMenu *sl,
GObject *object)
{
- gtk_widget_hide (GTK_WIDGET (sl));
+ GtkWidget *stack;
+ GtkStackPage *page;
+
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
+ g_object_set (page, "visible", FALSE, NULL);
gtk_tree_store_clear (sl->priv->model);
if (G_IS_MENU_MODEL (object))
- add_menu (sl, G_MENU_MODEL (object), NULL);
+ add_menu (sl, page, G_MENU_MODEL (object), NULL);
}
static void
#include "gtkstylecontext.h"
#include "gtkswitch.h"
#include "gtkwidgetprivate.h"
+#include "gtkstack.h"
typedef struct {
g_object_set (label, "margin", 10, NULL);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
- gtk_widget_show (label);
gtk_container_add (GTK_CONTAINER (row), label);
gtk_container_add (GTK_CONTAINER (listbox), row);
}
GObject *object)
{
GSList *groups, *l;
+ GtkWidget *stack;
+ GtkStackPage *page;
+
+ stack = gtk_widget_get_parent (GTK_WIDGET (sl));
+ page = gtk_stack_get_page (GTK_STACK (stack), GTK_WIDGET (sl));
+
+ g_object_set (page, "visible", FALSE, NULL);
clear_view (sl);
if (!GTK_IS_WIDGET (object))
- {
- gtk_widget_hide (GTK_WIDGET (sl));
- return;
- }
+ return;
groups = _gtk_widget_get_sizegroups (GTK_WIDGET (object));
if (groups)
- gtk_widget_show (GTK_WIDGET (sl));
+ g_object_set (page, "visible", TRUE, NULL);
for (l = groups; l; l = l->next)
{
GtkSizeGroup *group = l->data;